package com.ipartek.desarrollo.beanHibernate;

// Generated 26-feb-2014 21:38:33 by Hibernate Tools 3.4.0.CR1

import java.math.BigDecimal;
import java.util.Date;
import java.util.HashSet;
import java.util.Set;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

/**
 * Compras generated by hbm2java
 */
@Entity
@Table(name = "compras")
public class Compras implements java.io.Serializable {

	private String idCompra;
	private TipoPagos tipoPagos;
	private Cursos cursos;
	private Clientes clientes;
	private Integer cantidad;
	private BigDecimal precio;
	private BigDecimal coste;
	private Date fechaPago;
	private String numTarjeta;
	private String codSeguridad;
	private String tipoTarjeta;
	private String memo;
	private String estadoPago;
	private Set<MatriculasElearning> matriculasElearnings = new HashSet<MatriculasElearning>(
			0);

	public Compras() {
	}

	public Compras(String idCompra) {
		this.idCompra = idCompra;
	}

	public Compras(String idCompra, TipoPagos tipoPagos, Cursos cursos,
			Clientes clientes, Integer cantidad, BigDecimal precio,
			BigDecimal coste, Date fechaPago, String numTarjeta,
			String codSeguridad, String tipoTarjeta, String memo,
			String estadoPago, Set<MatriculasElearning> matriculasElearnings) {
		this.idCompra = idCompra;
		this.tipoPagos = tipoPagos;
		this.cursos = cursos;
		this.clientes = clientes;
		this.cantidad = cantidad;
		this.precio = precio;
		this.coste = coste;
		this.fechaPago = fechaPago;
		this.numTarjeta = numTarjeta;
		this.codSeguridad = codSeguridad;
		this.tipoTarjeta = tipoTarjeta;
		this.memo = memo;
		this.estadoPago = estadoPago;
		this.matriculasElearnings = matriculasElearnings;
	}

	@Id
	@Column(name = "id_compra", unique = true, nullable = false, length = 10)
	public String getIdCompra() {
		return this.idCompra;
	}

	public void setIdCompra(String idCompra) {
		this.idCompra = idCompra;
	}

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "cod_pago")
	public TipoPagos getTipoPagos() {
		return this.tipoPagos;
	}

	public void setTipoPagos(TipoPagos tipoPagos) {
		this.tipoPagos = tipoPagos;
	}

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "curso")
	public Cursos getCursos() {
		return this.cursos;
	}

	public void setCursos(Cursos cursos) {
		this.cursos = cursos;
	}

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "cod_cliente")
	public Clientes getClientes() {
		return this.clientes;
	}

	public void setClientes(Clientes clientes) {
		this.clientes = clientes;
	}

	@Column(name = "cantidad")
	public Integer getCantidad() {
		return this.cantidad;
	}

	public void setCantidad(Integer cantidad) {
		this.cantidad = cantidad;
	}

	@Column(name = "precio", scale = 4)
	public BigDecimal getPrecio() {
		return this.precio;
	}

	public void setPrecio(BigDecimal precio) {
		this.precio = precio;
	}

	@Column(name = "coste", scale = 4)
	public BigDecimal getCoste() {
		return this.coste;
	}

	public void setCoste(BigDecimal coste) {
		this.coste = coste;
	}

	@Temporal(TemporalType.TIMESTAMP)
	@Column(name = "fecha_pago", length = 19)
	public Date getFechaPago() {
		return this.fechaPago;
	}

	public void setFechaPago(Date fechaPago) {
		this.fechaPago = fechaPago;
	}

	@Column(name = "num_tarjeta", length = 16)
	public String getNumTarjeta() {
		return this.numTarjeta;
	}

	public void setNumTarjeta(String numTarjeta) {
		this.numTarjeta = numTarjeta;
	}

	@Column(name = "cod_seguridad", length = 3)
	public String getCodSeguridad() {
		return this.codSeguridad;
	}

	public void setCodSeguridad(String codSeguridad) {
		this.codSeguridad = codSeguridad;
	}

	@Column(name = "tipo_tarjeta", length = 20)
	public String getTipoTarjeta() {
		return this.tipoTarjeta;
	}

	public void setTipoTarjeta(String tipoTarjeta) {
		this.tipoTarjeta = tipoTarjeta;
	}

	@Column(name = "memo")
	public String getMemo() {
		return this.memo;
	}

	public void setMemo(String memo) {
		this.memo = memo;
	}

	@Column(name = "estado_pago", length = 20)
	public String getEstadoPago() {
		return this.estadoPago;
	}

	public void setEstadoPago(String estadoPago) {
		this.estadoPago = estadoPago;
	}

	@OneToMany(fetch = FetchType.LAZY, mappedBy = "compras")
	public Set<MatriculasElearning> getMatriculasElearnings() {
		return this.matriculasElearnings;
	}

	public void setMatriculasElearnings(
			Set<MatriculasElearning> matriculasElearnings) {
		this.matriculasElearnings = matriculasElearnings;
	}

}
